'''
Created on 10/10/2013

@author: daniel
'''
import colecciones.nodo
import unittest


class Arista(colecciones.nodo.Nodo):
    '''
    Clase Arista, subclase de Nodo y es parte del conjunto"grafo"
    '''
    def __init__(self,verticeSig,peso=None):
        '''
        verticeSig apunta al vertice
        peso indica el costo de la arista
        '''
        colecciones.nodo.Nodo.__init__(self,peso,verticeSig)

    def getVerticeDestino(self): #Retorna el vertice destino de la arista.
        return self.getLink()

    def getPeso(self):#Retorna el peso de la arista
        return self.getObjeto()

    def __cmp__(self,unaArista):
        return self.objeto.__cmp__(unaArista.objeto)
    
    def __str__(self):
        linea="<"+self.objeto.__str__()+">"+"["+self.getVerticeDestino().__str__()+"]"
        return linea

class Test(unittest.TestCase):


    def testName(self):
        self.assertIsInstance(Arista(12),Arista,"Verifica correcta creacion")
        
    def testGetVerticeDestino(self):
        first=Arista(23,56)
        self.assertEquals(first.getVerticeDestino(), 23,"Verifica que entregue el objeto")


    def testGetPeso(self):
        first=Arista(23,20)
        self.assertEquals(first.getPeso(), 20,"Verifica que entregue el objeto")


if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    unittest.main()